﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SIG.Model;
using SIG.Basic.Helper;
using SIG.Data.Repositories.Identity;
using SIG.Infrastructure.Logging;
using SIG.Model.Identity;
using System.Threading;
using SIG.Data.UnitOfWork;
using SIG.Infrastructure.Cache;

namespace SIG.Service.Identity
{
    public class PermissionService : EntityService<Permission>, IPermissionService
    {
        #region Fields
        private IPermissionRepository _permissionRepository;
        private ILoggingService _logger;
        private ICacheService _cacheService;
        #endregion

        public PermissionService(IPermissionRepository permissionRepository, ICacheService cacheService, ILoggingService logger)       
            :base(permissionRepository, cacheService)     
        {
            if (permissionRepository == (IPermissionRepository)null)
                throw new ArgumentNullException("permissionRepository");
            if (logger == (ILoggingService)null)
                throw new ArgumentNullException("logger");
            if (cacheService == (ICacheService)null)
                throw new ArgumentNullException("cacheService");
            this._permissionRepository = permissionRepository;
            this._logger = logger;
            this._cacheService = cacheService;
        }

        
       
    }
}